package de.hhbk.azubiverwaltung.dao.beans;

import java.util.List;

import javax.persistence.Query;

import de.hhbk.azubiverwaltung.dao.interfaces.ErziehungsberechtigterDaoIF;
import de.hhbk.azubiverwaltung.entites.Erziehungsberechtigter;

public class ErziehungsberechtigterDAOBean extends GenericDao implements
		ErziehungsberechtigterDaoIF {

	@Override
	public Erziehungsberechtigter persistErziehungsberechtigter(
			Erziehungsberechtigter erziehungsberechtigter) {
		manager.getTransaction().begin();
		try
		{
			manager.persist(erziehungsberechtigter);
			manager.getTransaction().commit();
		}
		catch(Exception ex)
		{
			manager.getTransaction().rollback();
		}
		return erziehungsberechtigter;
	}

	@Override
	public List<Erziehungsberechtigter> persistErziehungsberechtigter(
			List<Erziehungsberechtigter> erziehungsberechtigter) {
		manager.getTransaction().begin();
		try
		{
			for(Erziehungsberechtigter e : erziehungsberechtigter)
			{
				manager.persist(e);
			}
			manager.getTransaction().commit();
		}
		catch(Exception ex)
		{
			manager.getTransaction().rollback();
		}
		
		return erziehungsberechtigter;
	}

	@Override
	public Erziehungsberechtigter updateErziehungsberechtigter(
			Erziehungsberechtigter erziehungsberechtigter) {
		manager.getTransaction().begin();
		try
		{
			manager.merge(erziehungsberechtigter);
			manager.getTransaction().commit();
		}
		catch(Exception ex)
		{
			manager.getTransaction().rollback();
		}
		return erziehungsberechtigter;
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Erziehungsberechtigter> holeAlleErziehungsberechtigte() {
		Query query = manager.createQuery("SELECT e FROM Erziehungsberechtigter e");
		return query.getResultList();
	}

}
